package entidades;



import coneccion.Coneccion;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.sql.Date;
import java.util.List;


/**
 *
 * @author DYE
 */
public class participante {
    
    public int idParticipante;
    public String sexo;
    public String nombre;
    public String apellido;
    public Date fecha_nac;
    public String dui;
    public String telefono;
    public String e_mail;
    
    /*
     * METODOS
     * SelectAllParticipante()
     * SelectParticipanteByID(int id)
     * SelectParticipanteBySexo(String sex)
     * SelectParticipanteByNombre(String nom)
     * SelectParticipanteByApellido(String ape)
     * SelectParticipanteByfecha_nac(Date fecha)
     * SelectParticipanteBydui(String numdui)
     * SelectParticipanteBytelefono(String tel)
     * SelectParticipanteBye_mail(String correo)
     * InsertarParticipante(String sexoP, String nom, String ape, Date fecha_nacP, String numdui, String tel, String correo)
     * ModificarParticipante(int id, String sexoP, String nom, String ape, Date fecha_nacP, String numdui, String tel, String correo)
     */

    public String getDui() {
        return dui;
    }

    public void setDui(String dui) {
        this.dui = dui;
    }

    public String getE_mail() {
        return e_mail;
    }

    public void setE_mail(String e_mail) {
        this.e_mail = e_mail;
    }

    public Date getFecha_nac() {
        return fecha_nac;
    }

    public void setFecha_nac(Date fecha_nac) {
        this.fecha_nac = fecha_nac;
    }

    public int getIdParticipante() {
        return idParticipante;
    }

    public void setIdParticipante(int idParticipante) {
        this.idParticipante = idParticipante;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public String getApellido() {
        return apellido;
    }

    public void setApellido(String apellido) {
        this.apellido = apellido;
    }

    public String getSexo() {
        return sexo;
    }

    public void setSexo(String sexo) {
        this.sexo = sexo;
    }

    public String getTelefono() {
        return telefono;
    }

    public void setTelefono(String telefono) {
        this.telefono = telefono;
    }
    
    
    
    
    public List<participante> SelectAllParticipante()
    {
        participante part;
        List<participante> listParticipante= new ArrayList<participante>();
        ResultSet rs=null;
        try
        {
        Coneccion cn=new Coneccion();
        
        rs=cn.connect().executeQuery("select * from participante");
        
        while(rs.next())
        {
            part=new participante();
            part.setIdParticipante(rs.getInt("idParticipante"));
            part.setSexo(rs.getString("sexo"));
            part.setNombre(rs.getString("nombre"));
            part.setApellido(rs.getString("apellido"));
            part.setFecha_nac(rs.getDate("fecha_nac"));
            part.setDui(rs.getString("dui"));
            part.setTelefono("telefono");
            part.setE_mail(rs.getString("e_mail"));
            listParticipante.add(part);
        }
        rs.close();
        cn.getCon().close();

        }catch(Exception ex)
         {
               System.out.println(ex.toString());
         }
        return listParticipante;
    }
    
    public participante SelectParticipanteByID(int id)
    {
        participante part=null;
        
        ResultSet rs=null;
        try
        {
        Coneccion cn=new Coneccion();
        
        rs=cn.connect().executeQuery("select * from participante where idParticipante="+id);
        
        rs.next();
        
            part=new participante();
            part.setIdParticipante(rs.getInt("idParticipante"));
            part.setSexo(rs.getString("sexo"));
            part.setNombre(rs.getString("nombre"));
            part.setApellido(rs.getString("apellido"));
            part.setFecha_nac(rs.getDate("fecha_nac"));
            part.setDui(rs.getString("dui"));
            part.setTelefono("telefono");
            part.setE_mail(rs.getString("e_mail"));
            
        
        rs.close();
        cn.getCon().close();

        }catch(Exception ex)
         {
               System.out.println(ex.toString());
         }
        return part;
    }
    
    public List<participante> SelectParticipanteBySexo(String sex)
    {
        participante part;
        List<participante> listParticipante= new ArrayList<participante>();
        ResultSet rs=null;
        try
        {
        Coneccion cn=new Coneccion();
        
        rs=cn.connect().executeQuery("select * from participante where sexo="+sex);
        
        while(rs.next())
        {
            part=new participante();
            part.setIdParticipante(rs.getInt("idParticipante"));
            part.setSexo(rs.getString("sexo"));
            part.setNombre(rs.getString("nombre"));
            part.setApellido(rs.getString("apellido"));
            part.setFecha_nac(rs.getDate("fecha_nac"));
            part.setDui(rs.getString("dui"));
            part.setTelefono("telefono");
            part.setE_mail(rs.getString("e_mail"));
            listParticipante.add(part);
        }
        rs.close();
        cn.getCon().close();

        }catch(Exception ex)
         {
               System.out.println(ex.toString());
         }
        return listParticipante;
    }
    
    public List<participante> SelectParticipanteByNombre(String nom)
    {
        participante part;
        List<participante> listParticipante= new ArrayList<participante>();
        ResultSet rs=null;
        try
        {
        Coneccion cn=new Coneccion();
        
        rs=cn.connect().executeQuery("select * from participante where nombre="+nom);
        
        while(rs.next())
        {
            part=new participante();
            part.setIdParticipante(rs.getInt("idParticipante"));
            part.setSexo(rs.getString("sexo"));
            part.setNombre(rs.getString("nombre"));
            part.setApellido(rs.getString("apellido"));
            part.setFecha_nac(rs.getDate("fecha_nac"));
            part.setDui(rs.getString("dui"));
            part.setTelefono("telefono");
            part.setE_mail(rs.getString("e_mail"));
            listParticipante.add(part);
        }
        rs.close();
        cn.getCon().close();

        }catch(Exception ex)
         {
               System.out.println(ex.toString());
         }
        return listParticipante;
    }
    
    public List<participante> SelectParticipanteByApellido(String ape)
    {
        participante part;
        List<participante> listParticipante= new ArrayList<participante>();
        ResultSet rs=null;
        try
        {
        Coneccion cn=new Coneccion();
        
        rs=cn.connect().executeQuery("select * from participante where apellido="+ape);
        
        while(rs.next())
        {
            part=new participante();
            part.setIdParticipante(rs.getInt("idParticipante"));
            part.setSexo(rs.getString("sexo"));
            part.setNombre(rs.getString("nombre"));
            part.setApellido(rs.getString("apellido"));
            part.setFecha_nac(rs.getDate("fecha_nac"));
            part.setDui(rs.getString("dui"));
            part.setTelefono("telefono");
            part.setE_mail(rs.getString("e_mail"));
            listParticipante.add(part);
        }
        rs.close();
        cn.getCon().close();

        }catch(Exception ex)
         {
               System.out.println(ex.toString());
         }
        return listParticipante;
    }
    
    
    public List<participante> SelectParticipanteByfecha_nac(Date fecha)
    {
        participante part;
        List<participante> listParticipante= new ArrayList<participante>();
        ResultSet rs=null;
        try
        {
        Coneccion cn=new Coneccion();
        
        rs=cn.connect().executeQuery("select * from participante where fecha_nac="+fecha);
        
        while(rs.next())
        {
            part=new participante();
            part.setIdParticipante(rs.getInt("idParticipante"));
            part.setSexo(rs.getString("sexo"));
            part.setNombre(rs.getString("nombre"));
            part.setApellido(rs.getString("apellido"));
            part.setFecha_nac(rs.getDate("fecha_nac"));
            part.setDui(rs.getString("dui"));
            part.setTelefono("telefono");
            part.setE_mail(rs.getString("e_mail"));
            listParticipante.add(part);
        }
        rs.close();
        cn.getCon().close();

        }catch(Exception ex)
         {
               System.out.println(ex.toString());
         }
        return listParticipante;
    }
    
    public List<participante> SelectParticipanteBydui(String numdui)
    {
        participante part;
        List<participante> listParticipante= new ArrayList<participante>();
        ResultSet rs=null;
        try
        {
        Coneccion cn=new Coneccion();
        
        rs=cn.connect().executeQuery("select * from participante where dui="+numdui);
        
        while(rs.next())
        {
            part=new participante();
            part.setIdParticipante(rs.getInt("idParticipante"));
            part.setSexo(rs.getString("sexo"));
            part.setNombre(rs.getString("nombre"));
            part.setApellido(rs.getString("apellido"));
            part.setFecha_nac(rs.getDate("fecha_nac"));
            part.setDui(rs.getString("dui"));
            part.setTelefono("telefono");
            part.setE_mail(rs.getString("e_mail"));
            listParticipante.add(part);
        }
        rs.close();
        cn.getCon().close();

        }catch(Exception ex)
         {
               System.out.println(ex.toString());
         }
        return listParticipante;
    }
    
    public List<participante> SelectParticipanteBytelefono(String tel)
    {
        participante part;
        List<participante> listParticipante= new ArrayList<participante>();
        ResultSet rs=null;
        try
        {
        Coneccion cn=new Coneccion();
        
        rs=cn.connect().executeQuery("select * from participante where telefono="+tel);
        
        while(rs.next())
        {
            part=new participante();
            part.setIdParticipante(rs.getInt("idParticipante"));
            part.setSexo(rs.getString("sexo"));
            part.setNombre(rs.getString("nombre"));
            part.setApellido(rs.getString("apellido"));
            part.setFecha_nac(rs.getDate("fecha_nac"));
            part.setDui(rs.getString("dui"));
            part.setTelefono("telefono");
            part.setE_mail(rs.getString("e_mail"));
            listParticipante.add(part);
        }
        rs.close();
        cn.getCon().close();

        }catch(Exception ex)
         {
               System.out.println(ex.toString());
         }
        return listParticipante;
    }
    
    public List<participante> SelectParticipanteBye_mail(String correo)
    {
        participante part;
        List<participante> listParticipante= new ArrayList<participante>();
        ResultSet rs=null;
        try
        {
        Coneccion cn=new Coneccion();
        
        rs=cn.connect().executeQuery("select * from participante where e_mail="+correo);
        
        while(rs.next())
        {
            part=new participante();
            part.setIdParticipante(rs.getInt("idParticipante"));
            part.setSexo(rs.getString("sexo"));
            part.setNombre(rs.getString("nombre"));
            part.setApellido(rs.getString("apellido"));
            part.setFecha_nac(rs.getDate("fecha_nac"));
            part.setDui(rs.getString("dui"));
            part.setTelefono("telefono");
            part.setE_mail(rs.getString("e_mail"));
            listParticipante.add(part);
        }
        rs.close();
        cn.getCon().close();

        }catch(Exception ex)
         {
               System.out.println(ex.toString());
         }
        return listParticipante;
    }
    
        public void InsertarParticipante(String sexoP, String nom, String ape, Date fecha_nacP, String numdui, String tel, String correo)
    {
        try
        {
            Coneccion cn=new Coneccion();
            Statement st=cn.connect();
            
            participante in=new participante();
            
            PreparedStatement ps=cn.connect("insert into participante (sexo, nombre, apellido, fecha_nac, dui, telefono, e_mail) "+"values(?,?,?,?,?,?,?)");

            ps.setString(1, sexoP);
            ps.setString(2, nom);
            ps.setString(3,ape);
            ps.setDate(4, fecha_nacP);
            ps.setString(5, numdui);
            ps.setString(6, tel);
            ps.setString(7, correo);
            
            ps.executeUpdate();

            st.close();

            cn.getCon().close();
        }
        catch (Exception e)
        {
            System.out.println(e.toString());
        }
    }
        
        
        public void ModificarParticipante(int id, String sexoP, String nom, String ape, Date fecha_nacP, String numdui, String tel, String correo)
        {
        try
        {
            Coneccion cn=new Coneccion();
            Statement st=cn.connect();

            
            PreparedStatement ps=cn.connect("update participante "+" set sexo=?, nombre=?, apellido=?, fecha_nac=?, dui=?, telefono=?, e_mail=?"+"where idParticipante=?");

            ps.setString(1, sexoP);
            ps.setString(2, nom);
            ps.setString(3,ape);
            ps.setDate(4, fecha_nacP);
            ps.setString(5, numdui);
            ps.setString(6, tel);
            ps.setString(7, correo);
            ps.setInt(8, id);
            
            ps.executeUpdate();

            cn.getCon().close();
        }
        catch (Exception e)
        {
            System.out.println(e.toString());
        }

} 
    
}
